<?xml version='1.0' encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <link href="cpip.css" rel="stylesheet" type="text/css" />
    <title>File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/asm/acpi.h</title>
  </head>
  <body>
    <h1>File: /Users/paulross/dev/linux/linux-3.13/arch/x86/include/asm/acpi.h</h1>
    <p>Green shading in the line number column
means the source is part of the translation unit, red means it is conditionally excluded.
Highlighted line numbers link to the translation unit page. Highlighted macros link to
the macro page.</p>
    <pre><a name="1" /><span class="True">       1:</span> <span class="f">#</span><span class="n">ifndef</span> <a href="cpu.c_macros_noref.html#_X0FTTV9YODZfQUNQSV9IXzA_"><span class="b">_ASM_X86_ACPI_H</span></a>
<a name="2" /><span class="True">       2:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_X0FTTV9YODZfQUNQSV9IXzA_"><span class="b">_ASM_X86_ACPI_H</span></a>
<a name="3" /><span class="True">       3:</span> 
<a name="4" /><span class="True">       4:</span> <span class="k">/*</span>
<a name="5" /><span class="True">       5:</span> <span class="k"> *  Copyright (C) 2001 Paul Diefenbaugh &lt;paul.s.diefenbaugh@intel.com&gt;</span>
<a name="6" /><span class="True">       6:</span> <span class="k"> *  Copyright (C) 2001 Patrick Mochel &lt;mochel@osdl.org&gt;</span>
<a name="7" /><span class="True">       7:</span> <span class="k"> *</span>
<a name="8" /><span class="True">       8:</span> <span class="k"> * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span>
<a name="9" /><span class="True">       9:</span> <span class="k"> *</span>
<a name="10" /><span class="True">      10:</span> <span class="k"> *  This program is free software; you can redistribute it and/or modify</span>
<a name="11" /><span class="True">      11:</span> <span class="k"> *  it under the terms of the GNU General Public License as published by</span>
<a name="12" /><span class="True">      12:</span> <span class="k"> *  the Free Software Foundation; either version 2 of the License, or</span>
<a name="13" /><span class="True">      13:</span> <span class="k"> *  (at your option) any later version.</span>
<a name="14" /><span class="True">      14:</span> <span class="k"> *</span>
<a name="15" /><span class="True">      15:</span> <span class="k"> *  This program is distributed in the hope that it will be useful,</span>
<a name="16" /><span class="True">      16:</span> <span class="k"> *  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="17" /><span class="True">      17:</span> <span class="k"> *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="18" /><span class="True">      18:</span> <span class="k"> *  GNU General Public License for more details.</span>
<a name="19" /><span class="True">      19:</span> <span class="k"> *</span>
<a name="20" /><span class="True">      20:</span> <span class="k"> *  You should have received a copy of the GNU General Public License</span>
<a name="21" /><span class="True">      21:</span> <span class="k"> *  along with this program; if not, write to the Free Software</span>
<a name="22" /><span class="True">      22:</span> <span class="k"> *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</span>
<a name="23" /><span class="True">      23:</span> <span class="k"> *</span>
<a name="24" /><span class="True">      24:</span> <span class="k"> * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~</span>
<a name="25" /><span class="True">      25:</span> <span class="k"> */</span>
<a name="26" /><span class="True">      26:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="b">acpi</span><span class="f">/</span><span class="b">pdc_intel</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="27" /><span class="True">      27:</span> 
<a name="28" /><span class="True">      28:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">numa</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="29" /><span class="True">      29:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">fixmap</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="30" /><span class="True">      30:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">processor</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="31" /><span class="True">      31:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">mmu</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="32" /><span class="True">      32:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">mpspec</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="33" /><span class="True">      33:</span> <span class="f">#</span><span class="n">include</span> <span class="f">&lt;</span><span class="m">asm</span><span class="f">/</span><span class="b">realmode</span><span class="f">.</span><span class="b">h</span><span class="f">&gt;</span>
<a name="34" /><span class="True">      34:</span> 
<a name="35" /><span class="True">      35:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q09NUElMRVJfREVQRU5ERU5UX0lOVDY0XzA_"><span class="b">COMPILER_DEPENDENT_INT64</span></a>   <span class="m">long</span> <span class="m">long</span>
<a name="36" /><span class="True">      36:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_Q09NUElMRVJfREVQRU5ERU5UX1VJTlQ2NF8w"><span class="b">COMPILER_DEPENDENT_UINT64</span></a>  <span class="m">unsigned</span> <span class="m">long</span> <span class="m">long</span>
<a name="37" /><span class="True">      37:</span> 
<a name="38" /><span class="True">      38:</span> <span class="k">/*</span>
<a name="39" /><span class="True">      39:</span> <span class="k"> * Calling conventions:</span>
<a name="40" /><span class="True">      40:</span> <span class="k"> *</span>
<a name="41" /><span class="True">      41:</span> <span class="k"> * ACPI_SYSTEM_XFACE        - Interfaces to host OS (handlers, threads)</span>
<a name="42" /><span class="True">      42:</span> <span class="k"> * ACPI_EXTERNAL_XFACE      - External ACPI interfaces</span>
<a name="43" /><span class="True">      43:</span> <span class="k"> * ACPI_INTERNAL_XFACE      - Internal ACPI interfaces</span>
<a name="44" /><span class="True">      44:</span> <span class="k"> * ACPI_INTERNAL_VAR_XFACE  - Internal variable-parameter list interfaces</span>
<a name="45" /><span class="True">      45:</span> <span class="k"> */</span>
<a name="46" /><span class="True">      46:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QUNQSV9TWVNURU1fWEZBQ0VfMA__"><span class="b">ACPI_SYSTEM_XFACE</span></a>
<a name="47" /><span class="True">      47:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QUNQSV9FWFRFUk5BTF9YRkFDRV8w"><span class="b">ACPI_EXTERNAL_XFACE</span></a>
<a name="48" /><span class="True">      48:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QUNQSV9JTlRFUk5BTF9YRkFDRV8w"><span class="b">ACPI_INTERNAL_XFACE</span></a>
<a name="49" /><span class="True">      49:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QUNQSV9JTlRFUk5BTF9WQVJfWEZBQ0VfMA__"><span class="b">ACPI_INTERNAL_VAR_XFACE</span></a>
<a name="50" /><span class="True">      50:</span> 
<a name="51" /><span class="True">      51:</span> <span class="k">/* Asm macros */</span>
<a name="52" /><span class="True">      52:</span> 
<a name="53" /><span class="True">      53:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QUNQSV9GTFVTSF9DUFVfQ0FDSEVfMA__"><span class="b">ACPI_FLUSH_CPU_CACHE</span></a><span class="f">(</span><span class="f">)</span>    <span class="b">wbinvd</span><span class="f">(</span><span class="f">)</span>
<a name="54" /><span class="True">      54:</span> 
<a name="55" /><span class="True">      55:</span> <span class="m">int</span> <span class="b">__acpi_acquire_global_lock</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">int</span> <span class="f">*</span><span class="b">lock</span><span class="f">)</span><span class="f">;</span>
<a name="56" /><span class="True">      56:</span> <span class="m">int</span> <span class="b">__acpi_release_global_lock</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">int</span> <span class="f">*</span><span class="b">lock</span><span class="f">)</span><span class="f">;</span>
<a name="57" /><span class="True">      57:</span> 
<a name="58" /><span class="True">      58:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QUNQSV9BQ1FVSVJFX0dMT0JBTF9MT0NLXzA_"><span class="b">ACPI_ACQUIRE_GLOBAL_LOCK</span></a><span class="f">(</span><span class="b">facs</span><span class="f">,</span> <span class="b">Acq</span><span class="f">)</span> \
<a name="59" /><span class="True">      59:</span>     <span class="f">(</span><span class="f">(</span><span class="b">Acq</span><span class="f">)</span> <span class="f">=</span> <span class="b">__acpi_acquire_global_lock</span><span class="f">(</span><span class="f">&amp;</span><span class="b">facs</span><span class="f">-&gt;</span><span class="b">global_lock</span><span class="f">)</span><span class="f">)</span>
<a name="60" /><span class="True">      60:</span> 
<a name="61" /><span class="True">      61:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QUNQSV9SRUxFQVNFX0dMT0JBTF9MT0NLXzA_"><span class="b">ACPI_RELEASE_GLOBAL_LOCK</span></a><span class="f">(</span><span class="b">facs</span><span class="f">,</span> <span class="b">Acq</span><span class="f">)</span> \
<a name="62" /><span class="True">      62:</span>     <span class="f">(</span><span class="f">(</span><span class="b">Acq</span><span class="f">)</span> <span class="f">=</span> <span class="b">__acpi_release_global_lock</span><span class="f">(</span><span class="f">&amp;</span><span class="b">facs</span><span class="f">-&gt;</span><span class="b">global_lock</span><span class="f">)</span><span class="f">)</span>
<a name="63" /><span class="True">      63:</span> 
<a name="64" /><span class="True">      64:</span> <span class="k">/*</span>
<a name="65" /><span class="True">      65:</span> <span class="k"> * Math helper asm macros</span>
<a name="66" /><span class="True">      66:</span> <span class="k"> */</span>
<a name="67" /><span class="True">      67:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QUNQSV9ESVZfNjRfQllfMzJfMA__"><span class="b">ACPI_DIV_64_BY_32</span></a><span class="f">(</span><span class="b">n_hi</span><span class="f">,</span> <span class="b">n_lo</span><span class="f">,</span> <span class="b">d32</span><span class="f">,</span> <span class="b">q32</span><span class="f">,</span> <span class="b">r32</span><span class="f">)</span> \
<a name="68" /><span class="True">      68:</span>     <span class="m">asm</span><span class="f">(</span><span class="e">&quot;divl %2;&quot;</span>                     \
<a name="69" /><span class="True">      69:</span>         <span class="f">:</span> <span class="e">&quot;=a&quot;</span><span class="f">(</span><span class="b">q32</span><span class="f">)</span><span class="f">,</span> <span class="e">&quot;=d&quot;</span><span class="f">(</span><span class="b">r32</span><span class="f">)</span>             \
<a name="70" /><span class="True">      70:</span>         <span class="f">:</span> <span class="e">&quot;r&quot;</span><span class="f">(</span><span class="b">d32</span><span class="f">)</span><span class="f">,</span>                     \
<a name="71" /><span class="True">      71:</span>          <span class="e">&quot;0&quot;</span><span class="f">(</span><span class="b">n_lo</span><span class="f">)</span><span class="f">,</span> <span class="e">&quot;1&quot;</span><span class="f">(</span><span class="b">n_hi</span><span class="f">)</span><span class="f">)</span>
<a name="72" /><span class="True">      72:</span> 
<a name="73" /><span class="True">      73:</span> 
<a name="74" /><span class="True">      74:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QUNQSV9TSElGVF9SSUdIVF82NF8w"><span class="b">ACPI_SHIFT_RIGHT_64</span></a><span class="f">(</span><span class="b">n_hi</span><span class="f">,</span> <span class="b">n_lo</span><span class="f">)</span> \
<a name="75" /><span class="True">      75:</span>     <span class="m">asm</span><span class="f">(</span><span class="e">&quot;shrl   $1,%2	;&quot;</span>    \
<a name="76" /><span class="True">      76:</span>         <span class="e">&quot;rcrl   $1,%3;&quot;</span>        \
<a name="77" /><span class="True">      77:</span>         <span class="f">:</span> <span class="e">&quot;=r&quot;</span><span class="f">(</span><span class="b">n_hi</span><span class="f">)</span><span class="f">,</span> <span class="e">&quot;=r&quot;</span><span class="f">(</span><span class="b">n_lo</span><span class="f">)</span>    \
<a name="78" /><span class="True">      78:</span>         <span class="f">:</span> <span class="e">&quot;0&quot;</span><span class="f">(</span><span class="b">n_hi</span><span class="f">)</span><span class="f">,</span> <span class="e">&quot;1&quot;</span><span class="f">(</span><span class="b">n_lo</span><span class="f">)</span><span class="f">)</span>
<a name="79" /><span class="True">      79:</span> 
<a name="80" /><span class="True">      80:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX0FDUElfMA__"><span class="b">CONFIG_ACPI</span></a>
<a name="81" /><span class="True">      81:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_lapic</span><span class="f">;</span>
<a name="82" /><span class="True">      82:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_ioapic</span><span class="f">;</span>
<a name="83" /><span class="True">      83:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_noirq</span><span class="f">;</span>
<a name="84" /><span class="True">      84:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_strict</span><span class="f">;</span>
<a name="85" /><span class="True">      85:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_disabled</span><span class="f">;</span>
<a name="86" /><span class="True">      86:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_pci_disabled</span><span class="f">;</span>
<a name="87" /><span class="True">      87:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_skip_timer_override</span><span class="f">;</span>
<a name="88" /><span class="True">      88:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_use_timer_override</span><span class="f">;</span>
<a name="89" /><span class="True">      89:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_fix_pin2_polarity</span><span class="f">;</span>
<a name="90" /><span class="True">      90:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_disable_cmcff</span><span class="f">;</span>
<a name="91" /><span class="True">      91:</span> 
<a name="92" /><span class="True">      92:</span> <span class="m">extern</span> <span class="b">u8</span> <span class="b">acpi_sci_flags</span><span class="f">;</span>
<a name="93" /><span class="True">      93:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_sci_override_gsi</span><span class="f">;</span>
<a name="94" /><span class="True">      94:</span> <span class="m">void</span> <span class="b">acpi_pic_sci_set_trigger</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">int</span><span class="f">,</span> <span class="b">u16</span><span class="f">)</span><span class="f">;</span>
<a name="95" /><span class="True">      95:</span> 
<a name="96" /><span class="True">      96:</span> <span class="m">extern</span> <span class="m">int</span> <span class="f">(</span><span class="f">*</span><span class="b">__acpi_register_gsi</span><span class="f">)</span><span class="f">(</span><span class="m">struct</span> <span class="b">device</span> <span class="f">*</span><span class="b">dev</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_dTMyXzA_"><span class="b">u32</span></a> <span class="b">gsi</span><span class="f">,</span>
<a name="97" /><span class="True">      97:</span>                   <span class="m">int</span> <span class="b">trigger</span><span class="f">,</span> <span class="m">int</span> <span class="b">polarity</span><span class="f">)</span><span class="f">;</span>
<a name="98" /><span class="True">      98:</span> 
<a name="99" /><span class="True">      99:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">disable_acpi</span><span class="f">(</span><span class="m">void</span><span class="f">)</span>
<a name="100" /><span class="True">     100:</span> <span class="f">{</span>
<a name="101" /><span class="True">     101:</span>     <span class="b">acpi_disabled</span> <span class="f">=</span> <span class="c">1</span><span class="f">;</span>
<a name="102" /><span class="True">     102:</span>     <span class="b">acpi_pci_disabled</span> <span class="f">=</span> <span class="c">1</span><span class="f">;</span>
<a name="103" /><span class="True">     103:</span>     <span class="b">acpi_noirq</span> <span class="f">=</span> <span class="c">1</span><span class="f">;</span>
<a name="104" /><span class="True">     104:</span> <span class="f">}</span>
<a name="105" /><span class="True">     105:</span> 
<a name="106" /><span class="True">     106:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_gsi_to_irq</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_dTMyXzA_"><span class="b">u32</span></a> <span class="b">gsi</span><span class="f">,</span> <span class="m">unsigned</span> <span class="m">int</span> <span class="f">*</span><span class="b">irq</span><span class="f">)</span><span class="f">;</span>
<a name="107" /><span class="True">     107:</span> 
<a name="108" /><span class="True">     108:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">acpi_noirq_set</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="f">{</span> <span class="b">acpi_noirq</span> <span class="f">=</span> <span class="c">1</span><span class="f">;</span> <span class="f">}</span>
<a name="109" /><span class="True">     109:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">acpi_disable_pci</span><span class="f">(</span><span class="m">void</span><span class="f">)</span>
<a name="110" /><span class="True">     110:</span> <span class="f">{</span>
<a name="111" /><span class="True">     111:</span>     <span class="b">acpi_pci_disabled</span> <span class="f">=</span> <span class="c">1</span><span class="f">;</span>
<a name="112" /><span class="True">     112:</span>     <span class="b">acpi_noirq_set</span><span class="f">(</span><span class="f">)</span><span class="f">;</span>
<a name="113" /><span class="True">     113:</span> <span class="f">}</span>
<a name="114" /><span class="True">     114:</span> 
<a name="115" /><span class="True">     115:</span> <span class="k">/* Low-level suspend routine. */</span>
<a name="116" /><span class="True">     116:</span> <span class="m">extern</span> <span class="m">int</span> <span class="f">(</span><span class="f">*</span><span class="b">acpi_suspend_lowlevel</span><span class="f">)</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="117" /><span class="True">     117:</span> 
<a name="118" /><span class="True">     118:</span> <span class="k">/* Physical address to resume after wakeup */</span>
<a name="119" /><span class="True">     119:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_YWNwaV93YWtldXBfYWRkcmVzc18w"><span class="b">acpi_wakeup_address</span></a> <span class="f">(</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">long</span><span class="f">)</span><span class="f">(</span><span class="b">real_mode_header</span><span class="f">-&gt;</span><span class="b">wakeup_start</span><span class="f">)</span><span class="f">)</span>
<a name="120" /><span class="True">     120:</span> 
<a name="121" /><span class="True">     121:</span> <span class="k">/*</span>
<a name="122" /><span class="True">     122:</span> <span class="k"> * Check if the CPU can handle C2 and deeper</span>
<a name="123" /><span class="True">     123:</span> <span class="k"> */</span>
<a name="124" /><span class="True">     124:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">unsigned</span> <span class="m">int</span> <span class="b">acpi_processor_cstate_check</span><span class="f">(</span><span class="m">unsigned</span> <span class="m">int</span> <span class="b">max_cstate</span><span class="f">)</span>
<a name="125" /><span class="True">     125:</span> <span class="f">{</span>
<a name="126" /><span class="True">     126:</span>     <span class="k">/*</span>
<a name="127" /><span class="True">     127:</span> <span class="k">     * Early models (&lt;=5) of AMD Opterons are not supposed to go into</span>
<a name="128" /><span class="True">     128:</span> <span class="k">     * C2 state.</span>
<a name="129" /><span class="True">     129:</span> <span class="k">     *</span>
<a name="130" /><span class="True">     130:</span> <span class="k">     * Steppings 0x0A and later are good</span>
<a name="131" /><span class="True">     131:</span> <span class="k">     */</span>
<a name="132" /><span class="True">     132:</span>     <span class="m">if</span> <span class="f">(</span><span class="b">boot_cpu_data</span><span class="f">.</span><span class="b">x86</span> <span class="f">==</span> <span class="c">0x0F</span> <span class="f">&amp;&amp;</span>
<a name="133" /><span class="True">     133:</span>         <span class="b">boot_cpu_data</span><span class="f">.</span><span class="b">x86_vendor</span> <span class="f">==</span> <a href="cpu.c_macros_ref.html#_WDg2X1ZFTkRPUl9BTURfMA__"><span class="b">X86_VENDOR_AMD</span></a> <span class="f">&amp;&amp;</span>
<a name="134" /><span class="True">     134:</span>         <span class="b">boot_cpu_data</span><span class="f">.</span><span class="b">x86_model</span> <span class="f">&lt;=</span> <span class="c">0x05</span> <span class="f">&amp;&amp;</span>
<a name="135" /><span class="True">     135:</span>         <span class="b">boot_cpu_data</span><span class="f">.</span><span class="b">x86_mask</span> <span class="f">&lt;</span> <span class="c">0x0A</span><span class="f">)</span>
<a name="136" /><span class="True">     136:</span>         <span class="m">return</span> <span class="c">1</span><span class="f">;</span>
<a name="137" /><span class="True">     137:</span>     <span class="m">else</span> <span class="m">if</span> <span class="f">(</span><span class="b">amd_e400_c1e_detected</span><span class="f">)</span>
<a name="138" /><span class="True">     138:</span>         <span class="m">return</span> <span class="c">1</span><span class="f">;</span>
<a name="139" /><span class="True">     139:</span>     <span class="m">else</span>
<a name="140" /><span class="True">     140:</span>         <span class="m">return</span> <span class="b">max_cstate</span><span class="f">;</span>
<a name="141" /><span class="True">     141:</span> <span class="f">}</span>
<a name="142" /><span class="True">     142:</span> 
<a name="143" /><span class="True">     143:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">bool</span> <span class="b">arch_has_acpi_pdc</span><span class="f">(</span><span class="m">void</span><span class="f">)</span>
<a name="144" /><span class="True">     144:</span> <span class="f">{</span>
<a name="145" /><span class="True">     145:</span>     <span class="m">struct</span> <span class="b">cpuinfo_x86</span> <span class="f">*</span><span class="b">c</span> <span class="f">=</span> <span class="f">&amp;</span><a href="cpu.c_macros_ref.html#_Y3B1X2RhdGFfMA__"><span class="b">cpu_data</span></a><span class="f">(</span><span class="c">0</span><span class="f">)</span><span class="f">;</span>
<a name="146" /><span class="True">     146:</span>     <span class="m">return</span> <span class="f">(</span><span class="b">c</span><span class="f">-&gt;</span><span class="b">x86_vendor</span> <span class="f">==</span> <a href="cpu.c_macros_ref.html#_WDg2X1ZFTkRPUl9JTlRFTF8w"><span class="b">X86_VENDOR_INTEL</span></a> <span class="f">||</span>
<a name="147" /><span class="True">     147:</span>         <span class="b">c</span><span class="f">-&gt;</span><span class="b">x86_vendor</span> <span class="f">==</span> <a href="cpu.c_macros_ref.html#_WDg2X1ZFTkRPUl9DRU5UQVVSXzA_"><span class="b">X86_VENDOR_CENTAUR</span></a><span class="f">)</span><span class="f">;</span>
<a name="148" /><span class="True">     148:</span> <span class="f">}</span>
<a name="149" /><span class="True">     149:</span> 
<a name="150" /><span class="True">     150:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">arch_acpi_set_pdc_bits</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_dTMyXzA_"><span class="b">u32</span></a> <span class="f">*</span><span class="b">buf</span><span class="f">)</span>
<a name="151" /><span class="True">     151:</span> <span class="f">{</span>
<a name="152" /><span class="True">     152:</span>     <span class="m">struct</span> <span class="b">cpuinfo_x86</span> <span class="f">*</span><span class="b">c</span> <span class="f">=</span> <span class="f">&amp;</span><a href="cpu.c_macros_ref.html#_Y3B1X2RhdGFfMA__"><span class="b">cpu_data</span></a><span class="f">(</span><span class="c">0</span><span class="f">)</span><span class="f">;</span>
<a name="153" /><span class="True">     153:</span> 
<a name="154" /><span class="True">     154:</span>     <span class="b">buf</span><span class="f">[</span><span class="c">2</span><span class="f">]</span> <span class="f">|=</span> <a href="cpu.c_macros_ref.html#_QUNQSV9QRENfQ19DQVBBQklMSVRZX1NNUF8w"><span class="b">ACPI_PDC_C_CAPABILITY_SMP</span></a><span class="f">;</span>
<a name="155" /><span class="True">     155:</span> 
<a name="156" /><span class="True">     156:</span>     <span class="m">if</span> <span class="f">(</span><a href="cpu.c_macros_ref.html#_Y3B1X2hhc18w"><span class="b">cpu_has</span></a><span class="f">(</span><span class="b">c</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_WDg2X0ZFQVRVUkVfRVNUXzA_"><span class="b">X86_FEATURE_EST</span></a><span class="f">)</span><span class="f">)</span>
<a name="157" /><span class="True">     157:</span>         <span class="b">buf</span><span class="f">[</span><span class="c">2</span><span class="f">]</span> <span class="f">|=</span> <a href="cpu.c_macros_ref.html#_QUNQSV9QRENfRVNUX0NBUEFCSUxJVFlfU1dTTVBfMA__"><span class="b">ACPI_PDC_EST_CAPABILITY_SWSMP</span></a><span class="f">;</span>
<a name="158" /><span class="True">     158:</span> 
<a name="159" /><span class="True">     159:</span>     <span class="m">if</span> <span class="f">(</span><a href="cpu.c_macros_ref.html#_Y3B1X2hhc18w"><span class="b">cpu_has</span></a><span class="f">(</span><span class="b">c</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_WDg2X0ZFQVRVUkVfQUNQSV8w"><span class="b">X86_FEATURE_ACPI</span></a><span class="f">)</span><span class="f">)</span>
<a name="160" /><span class="True">     160:</span>         <span class="b">buf</span><span class="f">[</span><span class="c">2</span><span class="f">]</span> <span class="f">|=</span> <a href="cpu.c_macros_ref.html#_QUNQSV9QRENfVF9GRkhfMA__"><span class="b">ACPI_PDC_T_FFH</span></a><span class="f">;</span>
<a name="161" /><span class="True">     161:</span> 
<a name="162" /><span class="True">     162:</span>     <span class="k">/*</span>
<a name="163" /><span class="True">     163:</span> <span class="k">     * If mwait/monitor is unsupported, C2/C3_FFH will be disabled</span>
<a name="164" /><span class="True">     164:</span> <span class="k">     */</span>
<a name="165" /><span class="True">     165:</span>     <span class="m">if</span> <span class="f">(</span><span class="f">!</span><a href="cpu.c_macros_ref.html#_Y3B1X2hhc18w"><span class="b">cpu_has</span></a><span class="f">(</span><span class="b">c</span><span class="f">,</span> <a href="cpu.c_macros_ref.html#_WDg2X0ZFQVRVUkVfTVdBSVRfMA__"><span class="b">X86_FEATURE_MWAIT</span></a><span class="f">)</span><span class="f">)</span>
<a name="166" /><span class="True">     166:</span>         <span class="b">buf</span><span class="f">[</span><span class="c">2</span><span class="f">]</span> <span class="f">&amp;=</span> <span class="f">~</span><span class="f">(</span><a href="cpu.c_macros_ref.html#_QUNQSV9QRENfQ19DMkMzX0ZGSF8w"><span class="b">ACPI_PDC_C_C2C3_FFH</span></a><span class="f">)</span><span class="f">;</span>
<a name="167" /><span class="True">     167:</span> <span class="f">}</span>
<a name="168" /><span class="True">     168:</span> 
<a name="169" /><span class="False">     169:</span> <span class="f">#</span><span class="n">else</span> <span class="k">/* !CONFIG_ACPI */</span>
<a name="170" /><span class="False">     170:</span> 
<a name="171" /><span class="False">     171:</span> <span class="f">#</span><span class="n">define</span> <span class="b">acpi_lapic</span> <span class="c">0</span>
<a name="172" /><span class="False">     172:</span> <span class="f">#</span><span class="n">define</span> <span class="b">acpi_ioapic</span> <span class="c">0</span>
<a name="173" /><span class="False">     173:</span> <span class="f">#</span><span class="n">define</span> <span class="b">acpi_disable_cmcff</span> <span class="c">0</span>
<a name="174" /><span class="False">     174:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">acpi_noirq_set</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="f">{</span> <span class="f">}</span>
<a name="175" /><span class="False">     175:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">acpi_disable_pci</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="f">{</span> <span class="f">}</span>
<a name="176" /><span class="False">     176:</span> <span class="m">static</span> <span class="m">inline</span> <span class="m">void</span> <span class="b">disable_acpi</span><span class="f">(</span><span class="m">void</span><span class="f">)</span> <span class="f">{</span> <span class="f">}</span>
<a name="177" /><span class="False">     177:</span> 
<a name="178" /><span class="True">     178:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* !CONFIG_ACPI */</span>
<a name="179" /><span class="True">     179:</span> 
<a name="180" /><span class="True">     180:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_QVJDSF9IQVNfUE9XRVJfSU5JVF8w"><span class="b">ARCH_HAS_POWER_INIT</span></a>    <span class="c">1</span>
<a name="181" /><span class="True">     181:</span> 
<a name="182" /><span class="True">     182:</span> <span class="f">#</span><span class="n">ifdef</span> <a href="cpu.c_macros_ref.html#_Q09ORklHX0FDUElfTlVNQV8w"><span class="b">CONFIG_ACPI_NUMA</span></a>
<a name="183" /><span class="True">     183:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">acpi_numa</span><span class="f">;</span>
<a name="184" /><span class="True">     184:</span> <span class="m">extern</span> <span class="m">int</span> <span class="b">x86_acpi_numa_init</span><span class="f">(</span><span class="m">void</span><span class="f">)</span><span class="f">;</span>
<a name="185" /><span class="True">     185:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* CONFIG_ACPI_NUMA */</span>
<a name="186" /><span class="True">     186:</span> 
<a name="187" /><span class="True">     187:</span> <span class="f">#</span><span class="n">define</span> <a href="cpu.c_macros_noref.html#_YWNwaV91bmxhenlfdGxiXzA_"><span class="b">acpi_unlazy_tlb</span></a><span class="f">(</span><span class="b">x</span><span class="f">)</span>    <span class="b">leave_mm</span><span class="f">(</span><span class="b">x</span><span class="f">)</span>
<a name="188" /><span class="True">     188:</span> 
<a name="189" /><span class="True">     189:</span> <span class="f">#</span><span class="n">endif</span> <span class="k">/* _ASM_X86_ACPI_H */</span>
<a name="190" /><span class="True">     190:</span> </pre>
  </body>
</html>
